package com.parfinex.java.phase1.module2.task10;

/**
 * @Author: Li Jiahui
 * @Date: 2020/10/18 21:31
 * @Version 1.0
 */
public class DirectionEnumTest {
    public static void main(String[] args) {
//        Direction d1 = new Direction("up");
//        System.out.println("获取到的字符串是："+d1.getDesc());
//        Direction d2 = new Direction("down");
//        System.out.println("获取到的字符串是："+d2.getDesc());
//        Direction d3 = new Direction("left");
//        System.out.println("获取到的字符串是："+d3.getDesc());
//        Direction d4 = new Direction("right");
//        System.out.println("获取到的字符串是："+d4.getDesc());
//
//        System.out.println("----------------");
//        Direction d5 = new Direction("rightandleft");
//        System.out.println("获取到的字符串是："+d5.getDesc());
        //使用一下java5开始的枚举类型
//        DirectionEnum de = DirectionEnum.DOWN;
//        System.out.println("获取到的方向是"+de.getDesc());
        //1.获取DirectionEnum类型中所有的枚举对象
        DirectionEnum[] arr =DirectionEnum.values();
        //2.打印每个枚举对象在枚举类型中的名称和索引位置
        for (int i= 0 ;i<arr.length; i++){
            System.out.println("获取到的枚举对象名称是："+arr[i].toString());
            System.out.println("获取到的枚举对应的索引位置是："+arr[i].ordinal());
        }
        //3.根据参数指定的字符串得到的枚举类型的对象，也就是将字符串转换为对象
        DirectionEnum de =DirectionEnum.valueOf("DOWN");
        System.out.println("转换出来的枚举对象名称是："+de);
        System.out.println("------------------");
        for (int i=0; i<arr.length; i++){
            System.out.println("调用对象与数组中对象比较的先后顺序结果是："+de.compareTo(arr[i]));
        }
        System.out.println("-------------------");
        //5.使用数组中每个DirectionEnum对象都去调用show方法测试
        for (int i=0; i< arr.length; i++){
            arr[i].show();
        }


    }
}
